//#include <iostream>
//#include <algorithm>
//using namespace std;
//
//class a
//{
//	public:
//	int score_chinese;
//	int score_math;
//	int score_English;
//	int total;
//	int num;
//	
//	int cal_total()
//	{
//		return score_chinese + score_math + score_English;
//	}
//	    
//};
//
//bool cmp(a s1, a s2)
//{
//	int t1 = s1.cal_total();
//	int t2 = s2.cal_total();
//	if (t1 != t2)
//	{
//		return t1 > t2;
//		 } 	
//		 else if (s1.score_chinese != s2.score_chinese)
//		 return s1.score_chinese > s2.score_chinese;
//		 else
//		 {
//		 	return s1.num < s2.num;
//		 }
//}
//
//const int N = 310;
//
//a b[N];
//
//int main()
//{
//	int n;
//	cin >> n;
//	for (int i = 0; i < n; i++)
//	{	
//		cin >> b[i].score_chinese >> b[i].score_math >> b[i].score_English;
//		b[i].num = i + 1;
//	}
//	                                         
//	sort(b, b + n, cmp);
//	
//	for (int i = 0; i < 5; i++)
//	{
//		cout << b[i].num << " " << b[i].cal_total() << endl;
//																																																																																																																																												}																																																																																																																																											
//	
//	return 0;
//}



#include <iostream>
#include <algorithm>
using namespace std;

class a{
	public:
		string name;
		int year;
		int month;
		int day;
		int id;
};

const int N = 110;

a b[N];

bool cmp(a s1, a s2)
{
	if (s1.year != s2.year)
	{
		return s1.year < s2.year;
	}
	else if (s1.month != s2.month)
	{
		return s1.month < s2.month;
	}
	else if (s1.day != s2.day)
	{
		return s1.day < s2.day;
	}
	else
	{
		return s1.id > s2.id;
	}
}

int main()
{
	int n;
	cin >> n;
	for (int i = 0; i < n; i++)
	{
		cin >> b[i].name >> b[i].year >> b[i].month >> b[i].day;
		b[i].id = i;
	}
	
	sort(b, b + n, cmp);
	
	for (int i = 0;i < n; i++)
	{
		cout << b[i].name << endl;
	}
	
	return 0;
}
